#ifndef __K2D_GAMEENGINE_H__
#define __K2D_GAMEENGINE_H__

class GameEngine : Engine
{
public:
	GameEngine(void* userdata []);
	virtual ~GameEngine( void );

public:
	//Free all resources
	virtual void Free( void );

	virtual bool IsGameOver() const { return m_bGameOver; }

	virtual void SetGameOver(bool val) { m_bGameOver = val; }

protected:

	// Game logic before render
	virtual void ExecB( void );

	// Game logic after render
	virtual void ExecA( void );

	// Pre-Render process
	virtual void PreRender( void );

	// Render process
	virtual void Render( void );

	// Post-Render process
	virtual void PostRender( void );

	bool m_bGameOver;

};

#endif